<template>
  <div>
    <button @click="flag = !flag">切换</button>
    <transition name="fade">
      <div class="box" v-if="flag"></div>
    </transition>
  </div>
</template>

<script>
export default {
  data() {
    return {
      flag: false,
    };
  },
  methods: {},
  created() {},
  mounted() {},
  components: {},
  computed: {},
  watch: {},
};
</script>

<style lang="scss" scoped>
.box {
  width: 200px;
  height: 200px;
  background: red;
}

// .fade-enter {
//   opacity: 0;
//   transform: translateX(-100%);
// }
// //动画进入之前
// .fade-enter-active {
//   transition: all 5s;
// }
//动画激活的状态
// .fade-enter-to {
//   opcaity: 1;
//   transform: translateX(100%);
// }
// //动画进入之后
// .fade-leave {
//   opacity: 1;
//   transform: translateX(100%);
// }
// //动画离开之前
// .fade-leave-active {
//   transition: all 2s;
// }
// //动画离开的过程中
// .fade-leave-to {
//   opcaity: 0;
//   transform: translateX(-100%);
// }
//动画离开之后

.fade-enter-active,
.fade-leave-active {
  transition: all 2s;
  //过渡
}
.fade-enter {
  transform: translateX(100%);
  // transform是变形的意思
  // translate是平移的意思
}
// .fade-enter-to {
//   transform: translateX(0);
//   // transform是变形的意思
//   // translate是平移的意思
// }
// .fade-leave {
//   transform: translateX(0);
//   // transform是变形的意思
//   // translate是平移的意思
// }
.fade-leave-to {
  transform: translateX(-100%);
}
</style>
